fn main() {
    println!("Hello, world!");
    let block: Block = create_genesis_block();
}


struct Block {
    x: i32,
    y: Option<i32>,
//    previous: block_id_type,
//    timestamp: time_point_sec,
//    transaction_merkle_root: checksum_type,
//    producer: AccountName,
//    producer_changes: RoundChanges,
//    producer_signature: signature_type,
//    cycles: vec<cycle>,
}


fn create_genesis_block() {
    let block: Block = Block{
        x: 10,
        y: None,
    };
    return block;
}


fn next_block(last_block: Block) {
    let block: Block = Block{
        x: 10,
        y: None,
    };
    return block;
}


fn is_valid_new_block(new_block: Block) {
    return true;
}


///////////////////////////////////////////////////////////


fn add_key() {

}


fn generate_new_key() {
    add_key();
}


////////////////////////////////////////////////////////


struct CTransaction {

}


fn send_money() {

}

